package com.mwh.yuantu.dao;

import java.util.List;

import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import com.mwh.yuantu.dao.mapper.ActivateInfoMapper;
import org.apache.ibatis.annotations.Param;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import com.mwh.yuantu.entity.ActivateInfoEntity;

/**
 * (ActivateInfo)表数据库访问层
 *
 * @author maweihong
 * @since 2023-11-01 09:47:26
 */
@Service
public class ActivateInfoDao extends ServiceImpl<ActivateInfoMapper , ActivateInfoEntity> {

    @Autowired
	private ActivateInfoMapper activateInfoMapper;

    /**
     * 根据用户id和验证类型，判断认证是否已存在
     * @param userId 用户id
     * @param type 验证类型
     * @return
     */
    public ActivateInfoEntity selectByUserIdAndType(@Param("userId") String userId, @Param("type") String type){
        return activateInfoMapper.selectByUserIdAndType(userId,type);
    }

    /**
     * 插入
     * @param activateInfo
     * @return
     */
    public int insert(ActivateInfoEntity activateInfo){
        return activateInfoMapper.insert(activateInfo);
    }

    /**
     * 新增
     * @param activateInfo
     * @return
     */
    public int update(ActivateInfoEntity activateInfo){
        return activateInfoMapper.update(activateInfo);
    }

    /**
     * 删除验证记录
     * @param id
     * @return
     */
    public int delete(String id){
        return activateInfoMapper.delete(id);
    }

    /**
     * 获取验证记录
     * @param email
     * @param code
     * @param type
     * @return
     */
    public ActivateInfoEntity selectByEmailAndCodeAndType(
            @Param("email") String email,
            @Param("code") String code,
            @Param("type") String type
    ){
        return activateInfoMapper.selectByEmailAndCodeAndType(email,code,type);
    }
}

